package main

import "fmt"

func main() {
	/* 定义局部变量 */
	var grade string = "B"
	var marks int = 90

	// switch Golang  分支表达式可以是任意类型，不限于常量。可省略 break，默认自动终止。
	switch marks {
	case 90:
		grade = "A"
	case 80:
		grade = "B"
	case 50, 60, 70:
		grade = "C"
	default:
		grade = "D"
	}
	// switch d
	switch {
	case grade == "A":
		fmt.Printf("优秀!\n")
	case grade == "B", grade == "C":
		fmt.Printf("良好\n")
	case grade == "D":
		fmt.Printf("及格\n")
	case grade == "F":
		fmt.Printf("不及格\n")
	default:
		fmt.Printf("差\n")
	}
	fmt.Printf("你的等级是 %s\n", grade)

	/*
		变量 var1 可以是任何类型，而 val1 和 val2 则必须是同类型的任意值。类型不被局限于常量或整数，但必须是相同的类型
			switch var1 {
			    case val1:
			        ...
			    case val2:
			        ...
			    default:
			        ...
			}
	*/
}
